1. Technical Field
The invention is related to the use of the configuration control method disclosed in U.S. Pat. No. 4,999,553 by one of the inventors herein to the control of seven degree of freedom robot arms, using a forward kinematic approach.
2. Background Art
U.S. Pat. No. 4,999,553, the disclosure of which is hereby incorporated herein by reference, discloses a configuration control method employed in the present invention.
References
The background of the present invention is discussed below relative to the following references by referring to them by the bracketed numbers associated with each reference as follows:
[1] J. M. Holierbach: "Optimum kinematic design for a seven degree of freedom manipulator," Proc. 2nd Intern. Symp. on Robotics Research, Kyoto, Japan, August 1984, pp. 215-222. PA1 [2] J. Lenarcic, and A. Umek: "Experimental evaluation of human arm kinematics," Proc. 2nd Intern. Symp. on Experimental Robotics, Toulouse, France, June 1991. PA1 [3] D. E. Whitney: "Resolved motion rate control of manipulators and human prostheses," IEEE Trans. Man-Machine Systems, 1969, Vol. MMS-10, No. 2, pp. 47-53. PA1 [4] A. Li'egeois: "Automatic supervisory control of the configuration and behavior of multibody mechanisms," IEEE Trans. Systems, Man and Cybernetics, 1977, Vol. SMC-7, No. 12, pp. 868-871. PA1 [5] R. V. Dubey, J. A. Euler, and S. M. Babcock: "An efficient gradient projection optimization scheme for a 7 DOF redundant robot with spherical wrist," Proc. IEEE Intern. Conf. on Robotics and Automation, Philadelphia, April 1988, pp. 28-36. PA1 [6] Y. Nakamura and H. Hanafusa: "Task priority based redundancy control of robot manipulators," Proc. 2nd Intern. Symp. on Robotics Research, Kyoto, August 1984. PA1 [7] A. A. Maciejewski and C. A. Klein: "Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments," Intern. Journ. of Robotics Research, 1985, Vol. 4, No. 3, pp. 109-117. PA1 [8] C. W. Wampler: "Inverse kinematic functions for redundant manipulators," Proc. IEEE Intern. Conf. on Robotics and Automation, Raleigh, April 1987, pp. 610-617. PA1 [9] J. Baillieul: "Kinematic programming alternatives for redundant manipulators," Proc. IEEE Intern. Conf. on Robotics and Automation, St. Louis, March 1985, pp. 722-728. PA1 [10] K. Anderson and J. Angeles: "Kinematic inversion of robotic manipulators in the presence of redundancies," Intern. Jour. of Robotics Research, 1989, Vol. 8, No. 6, pp. 80-97. PA1 [11] H. Seraji: "Configuration control of redundant manipulators: Theory and implementation," IEEE Trans. on Robotics and Automation, 1989, Vol. 5, No. 4, pp. 472-490. PA1 [12] J. D. Farrell, J. M. Thompson, J. P. Karlen, H. I. Vold and P. H. Eismann: "Modular, configurable, kinematically redundant manipulators," Proc. Japan-USA Symposium on Flexible Automation, Kyoto, July 1990, pp. 303-308. PA1 [13] J. J. Craig: Robotics--Mechanics and Control/, Addison Wesley Publishing Company, New York, 1986. PA1 [14] D. E. Whitney: "The mathematics of coordinated control of prosthetic arms and manipulators," ASME Journ. Dyn. Syst., Meas. and Control, 1972, Vol. 94, No. 14, pp. 303-309. PA1 [15] K. Kreutz, M. Long, and H. Seraji: "Kinematic analysis of 7 DOF anthropomorphic arms," Proc. IEEE Intern. Conf. on Robotics and Automation, Cincinnati, May 1990, Vol. 2, pp. 824-830. PA1 [16] R. Colbaugh, H. Seraji, and K. Glass: "Obstacle avoidance for redundant robots using configuration control," Journal of Robotic Systems, 1989, Vol. 6, No. 6, pp. 721-744. PA1 [17] H. Seraji and R. Colbaugh: "Improved configuration control for redundant robots," Journal of Robotic Systems, 1990, Vol. 7, No. 6, pp. 897-928. PA1 [18] Y. Nakamura and H. Hanafusa: "Inverse kinematic solutions with singularity robutness for robot manipulator control," ASME Journ. Dyn. Syst., Meas. and Control, 1986, Vol. 108, No. 3, pp. 163-171. PA1 [19] C. W. Wampler and L. J. Leifer: "Applications of damped least-squares methods to resolved-rate and resolved-acceleration control of manipulators," ASME Journ. Dyn. Syst., Meas. and Control, 1988, Vol. 110, No. 1, pp. 31-38. PA1 [20] H. Seraji: "Task-based configuration control of redundant manipulators," Journal of Robotic Systems, 1992, Vol. 9, No. 3. PA1 [21] E. G. Gilbert and D. W. Johnson: "Distance functions and their application to robot path planning in the presence of obstacles," IEEE Journ. of Robotics and Automation, 1985, Vol. 1, No. 1, pp. 21-30. PA1 [22] C. A. Klein and C. H. Huang: "Review of pseudoinverse control for use with kinematically redundant manipulators," IEEE Trans. Systems, Man and Cybernetics, 1983, Vol. SMC-13, No. 3, pp. 245-250. PA1 [23] R. Schnurr, M. O'Brien, and S. Cofer: "The Goddard Space Flight Center Robotics Technology Testbed," Proc. Second NASA Conf. on Space Telerobotics, Pasadena, January 1989, Vol. 3, pp. 491-500.
1. Introduction
It has been recognized that robot arms with seven or more degrees-of-freedom (DOF) offer considerable dexterity and versatility over conventional six DOF arms [1]. These high-performance robot arms are kinematically redundant since they have more than the six joints required for arbitrary placement of the end-effector in the three-dimensional workspace. Kinematically redundant arms have the potential to approach the capabilities of the human arm, which also has seven independent joint degrees-of-freedom [2].
Although the availability of the "extra" joints can provide dexterous motion of the arm, proper utilization of this redundancy poses a challenging and difficult problem. Redundant manipulators have an infinite number of joint motions which lead to the same end-effector trajectory. This richness in the choice of joint motions complicates the manipulator control problem considerably. Typically, the kinematic component of a redundant manipulator control scheme must generate a set of joint angle trajectories, from the infinite set of possible trajectories, which causes the end-effector to follow a desired trajectory while satisfying additional constraints, such as collision avoidance, servomotor torque minimization, singularity avoidance, or joint limit avoidance. Developing techniques to simultaneously achieve end-effector trajectory control while meeting additional task requirements is known as the redundancy resolution/problem, since the motion of the manipulator joints must be "resolved" to satisfy both objectives.
Since redundancy is an important evolutionary step toward versatile manipulation, research activity in redundancy resolution and related areas has grown considerably in recent years, [e.g. 3-10]. For the most part, researchers have been working with a set of analytical tools based on linearized differential/kinematics models. Previous investigations of redundant manipulators have often focused on local/optimization for redundancy resolution by using the Jacobian pseudoinverse to solve the instantaneous relationship between the joint and end-effector velocities. Redundancy resolution based on the Jacobian pseudoinverse was first proposed by Whitney [3] in 1969, and the null-space projection improvement was proposed by Liegeois [4] in 1977. Over the past two decades, most researchers have continued to develop variations of the pseudoinverse approach primarily because the complex nonlinear forward and inverse kinematics models have deterred further investigations into new redundancy resolution schemes. A conceptually simple approach to control of redundant manipulator configuration has been developed recently based on augmentation of the manipulator forward kinematics [11]. This approach covers a wide range of applications and enables a major advancement in both understanding and developing new redundancy resolution methods. This paper presents the applications of the configuration control approach to a large class of redundant industrial robot arms with seven degrees-of-freedom.
The paper is organized as follows. Section 2 describes the kinematics of the 7 DOF Robotics Research arm and gives an overview of the configuration control approach. Various applications of the configuration control approach to the 7 DOF arm providing elbow control, collision avoidance, and optimal joint movement are given in Section 3. Section 4 describes the laboratory setup and the implementation of configuration control for real-time motion control of the 7 DOF arm, with elbow positioning for redundancy resolution. Conclusions drawn from this work are given in Section 5.
2. Motion Control of 7 DOF Arms
In this section, we describe the kinematics of the 7 DOF Robotics Research arm under study and discuss the motion control of this arm using the configuration control approach.
2.1 Kinematics of 7 DOF Robotics Research Arm
The Robotics Research (RR) arm is one of the few kinematically-redundant manipulators that is commercially available at the present time [12]. The Model K1207 RR arm has been purchased by JPL and similar models by other NASA centers for research and development of technologies applicable to the NASA Space Telerobotics Projects.
The Robotics Research arm has an anthropomorphic design with seven revolute joints, as shown in FIG. 1 and has nonzero offsets at all the joints. The arm is composed of a number of "modules" with roll and pitch motions. The shoulder joint with roll and pitch motions moves the upper-arm; the elbow joint with roll and pitch actions drives the forearm; and the wrist roll and pitch rotations together with the tool-plate roll move the hand. Essentially, the 7 DOF arm is obtained by adding the upper-arm roll as the 7th joint to a conventional 6 DOF arm design. The RR arm is supported by a pedestal at the base.
For kinematic analysis of the RR arm, coordinate frames are assigned to the links in such a way that the joint rotation .theta..sub.i is about the coordinate axis z.sub.i and the base frame {x.sub.0,y.sub.0,z.sub.0 } is attached to the pedestal. The two consecutive frames {x.sub.i-1,y.sub.i-1,z.sub.i-1.sub. with origin O.sub.i-1 and {x.sub.i,y.sub.i,z.sub.i } with origin O.sub.i are related by the 4.times.4 homogeneous transformation matrix [13] ##EQU1## where d.sub.i, a.sub.i, and .alpha..sub.i are the link length, joint offset and twist angle respectively, given in Table 1. The transformation that relates the hand frame {7} to the base frame {0} is obtained as ##EQU2## where R={r.sub.ij } is the 3.times.3 hand rotation matrix and p=[x, y, z].sup.T is the 3.times.1 hand position vector with respect to the base. One common representation of the hand orientation is the triple roll-pitch-yaw Euler angles (.rho., .beta., .gamma.). This three-parameter representation of hand orientation is subtracted from the hand rotation matrix R as follows [13]: ##EQU3## where Atan2 is the two-argument arc tangent function, and it is assumed that the pitch angle .beta. is not equal to or greater than .+-.90.degree.. Therefore, the hand position and orientation can be described by the 6.times.1 vector Y=[x, y, z, .rho., .beta., .gamma.].sup.T the three-dimensional workspace.
The 6.times.7 Jacobian matrix J.sub.v relates the 6.times.1 hand rotational and translational velocity vector ##EQU4## to the 7.times.1 joint angular velocity vector .theta. as V=J.sub..nu. .theta.. The hand Jacobian matrix is computed using the vector cross-product form [14] ##EQU5## where z.sub.i is the unit vector along the z-axis of link frame {i}, and P.sup.i is the position vector from the origin O.sub.i of link frame {i}to the origin of hand frame {7}. The Jacobian matrix in (4) can be partitioned as ##EQU6## where J.sub.vr and J.sub.vt designate the rotational and translational components of the Jacobian, that is, .omega.=J.sub..nu.r .theta. and .nu.=J.sub..nu.t .theta.. In order to relate the joint velocities to the rate of change of the roll-pitch-yaw angles that represent the hand orientation, the rotational Jacobian J.sub.vr (4) is modified to yield [13] ##EQU7## where the transformation matrix II (5) maps .omega. to ##EQU8## and det[II]=-cos.beta..noteq.0 since .beta..noteq..+-.90.degree..
From (4) and (5), we obtain the 6.times.7 hand Jacobian matrix ##EQU9## which relates Y to .theta. as Y=J.sub.e (.theta.).theta.. It is important to note that the computational efficiency can be creased significantly by exploiting the commonality of terms between the hand transformation matrix .sup.0 T.sub.7 and the hand Jacobian matrix J.sub.e.
Since the Robotics Research arm has seven joints, it offers one extra degree of joint redundancy for the task of controlling the six hand coordinates. The resolution of this single degree-of-redundancy is the subject of the next section.